//对 axios 进行二次封装
import axios from "axios";
//引入进度条 ngropress
import nprogress from "nprogress";
//引入进度条样式。如果没有显示进度条，一定是你忘记了引入样式了
import "nprogress/nprogress.css";


//使用 axios 的 create 方法创建一个实例
let requests = axios.create({
    //基础路径
    baseURL: "/mock",
    //请求的响应超时时间配置 30 秒
    timeout: 30000
});

//请求拦截器：在请求发送之前，处理一些逻辑
requests.interceptors.request.use((config) => {
    //进度条开始
    nprogress.start();
    //待处理的业务逻辑
    return config;
});

//响应拦截器：当服务器返回响应后，处理一些逻辑
requests.interceptors.response.use(
    (res) => {
        //进度条结束
        nprogress.done();
        return res.data;
    },
    (error) => {
        alert("服务器请求失败！");
    }
);

//对外暴露
export default requests;